from django.core.management.base import BaseCommand
from festivalrock.models import PuntoVenta, PerfilUsuario, Festival, Presentacion,\
    Banda, Sector, Descuento, DescuentoAnticipada, Noche
from optparse import make_option
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from django.utils.datetime_safe import datetime
from decimal import Decimal

class Command(BaseCommand):
    option_list = BaseCommand.option_list + (
        make_option('--long', '-l', dest='long',
            help='Help for the long options'),
    )
    help = 'Help text goes here'

    def handle(self, **options):
        '''
        '''
        vendedor=PerfilUsuario.objects.create(user=User.objects.get(username="ale"),nombre="ale")
        print vendedor
        
        site = Site.objects.get(id=1)
        site.name = "http://localhost:8000"
        site.save()
        print site
        """festival = Festival.objects.get(id=1)"""
        banda1=Banda.objects.create(nombre="Soda Stereo", categoria=3)
        banda2=Banda.objects.create(nombre="AC/DC", categoria=4)
        banda3=Banda.objects.create(nombre="Las Pelotas", categoria=2)
        banda4=Banda(nombre="Los Redondos", categoria=2)
        banda5=Banda(nombre="La Doblada", categoria=1)
        print banda1
        print banda2
        print banda3
        print banda4
        print banda5
        
        presentacion1 = Presentacion.objects.create(horaInicio=datetime.now(),horaFin=datetime.now(),banda=banda1)
        presentacion2 = Presentacion.objects.create(horaInicio=datetime.now(),horaFin=datetime.now(),banda=banda2)
        """        presentacion = Presentacion.objects.get(id=1)"""
        print presentacion1
        print presentacion2
        
        sector1 = Sector.objects.create(nombre="platea-alta",
                                        importeEntradaBase=Decimal(250),
                                        presentacion=presentacion1)
        sector1.populate(10,10)
        print sector1
        sector2 = Sector.objects.create(nombre="popular",
                                        importeEntradaBase=Decimal(110),
                                        presentacion=presentacion2)
        sector2.populate(10,10)
        print sector2
                
        noche1=Noche.objects.create(nombre="viernes Rockera",fecha=datetime.now())
        noche1.agregarPresentacion(presentacion1)
        noche1.agregarSector(sector1)
        noche1.agregarSector(sector2)
        noche1.save()
        noche2=Noche.objects.create(nombre="sabado Rockera",fecha=datetime.now())
        noche2.agregarPresentacion(presentacion2)
        noche2.agregarSector(sector1)
        noche2.save()
        
        festival=Festival.objects.create(nombre="Pepsi Music",noches=noche1,duracion=1)
        festival2=Festival.objects.create(nombre="Test Music",noches=noche2,duracion=1)
        print festival
        
        puntoVenta=PuntoVenta.objects.create(nombre="POS_CENTRO-01")
        puntoVenta.agregarVendedor(vendedor)
        puntoVenta.agregarFestival(festival)
        puntoVenta.agregarFestival(festival2)
        puntoVenta.save()
        
        print Descuento.objects.create(nombre="no aplica",porcentaje=Decimal(0))
        print Descuento.objects.create(nombre="jubilado",porcentaje=Decimal(30.00))
        print Descuento.objects.create(nombre="empleado",porcentaje=Decimal(50.00))
        print DescuentoAnticipada.objects.create(nombre="anticipada1",porcentaje=Decimal(20.00),
                                                 diasAnticipados=30,presentacion=presentacion1)
        pass